Xen, hyperviseur de machine virtuelle

Xen est un logiciel libre de virtualisation, plus précisément un hyperviseur de machine virtuelle permettant de faire fonctionner plusieurs systèmes d'exploitation virtuels (invités) sur une seule machine hôte.

 

 

Architecture de Xen

Chaque système d'exploitation invité tourne dans un « domaine ». Xen est une fine couche fonctionnant directement sur le matériel.


Comparaison avec d'autres solutions de virtualisation

Généralement, la virtualisation nécessite un système d'exploitation hôte installé sur le matériel, et optionnellement une couche intermédiaire. Un ou plusieurs systèmes d'exploitation invités peuvent alors être installés en parallèle.

  • Les logiciels de virtualisation de type QEMU, VirtualBox, VMWare Workstation/GSX ou VirtualPC sont des machines virtuelles complètes pour les systèmes d'exploitation invités, incluant même un BIOS logiciel (« firmware »). Le système d'exploitation invité « croit » tourner sur un matériel, or il est « virtuel» ou « simulé » par le logiciel de virtualisation, le système d’exploitation invité n'a pas « conscience » d'être virtualisé. La surcharge introduite par l'empilage du système d'exploitation hôte et de la machine virtuelle en font des solutions peu satisfaisantes pour des besoins en performance. Ils sont toutefois les plus simples à mettre en œuvre.

  • Le logiciel de virtualisation de type VMWare ESX permet des machines virtuelles complètes pour les systèmes d'exploitation invités, incluant même un BIOS. Mais à la différence des machines virtuelles complètes précédemment citées, il y a empilage léger, la machine virtuelle se repose sur un noyau léger nommé « vmkernel ». C'est une architecture similaire à Xen, en revanche les systèmes invités n'ont pas à être modifiés, et n'ont pas d'accès privilégié au matériel de la machine..


  • Les logiciels de type chroot, Linux-VServer, OpenVZ ou BSD Jail ne font qu'isoler certains aspects ou ressources du système d'exploitation hôte comme les systèmes de fichiers ou les espaces mémoire. Ces solutions sont très performantes, du fait du peu de surcharge (pas d'empilage de système d’exploitation hôte et d'un logiciel de virtualisation), mais les environnements virtualisés (on ne peut pas parler de machine ou systèmes d'exploitation virtuels) sont peu ou pas complètement isolés.


  • User Mode Linux (d'acronyme UML) est un noyau Linux compilé pour fonctionner en espace mémoire utilisateur (en dehors de l'espace noyau privilégié). Il se lance donc comme une application dans le système d'exploitation hôte. UML peut lancer et gérer ses applications de manière isolée des autres UML qui tournent sur la même machine. Solution très peu performante, car deux noyaux sont empilés, elle sert surtout au développement du noyau ou à la réalisation de « pot de miel ».


  • Le logiciel de virtualisation de VirtualLogix est dédié au monde de l'embarqué. Il s'agit d'un paravirtualiseur très proche dans son principe de Xen. Il s'agit d'une solution propriétaire qui n'est donc intégrée dans aucune distribution ; elle est en revanche portable sur d'autres architectures de processeurs comme ARM et TI C64xx.


Du fait de cette « paravirtualisation » (adaptation du système d'exploitation invité) et de sa légèreté, Xen est un outil de virtualisation des plus performants. En effet les systèmes invités peuvent avoir un accès privilégié au matériel, ce qui offre un bien meilleur potentiel d'optimisation. Cependant, faire fonctionner une machine virtuelle Windows dont le code source est fermé pose quelques problèmes de stabilité sous forte charge


Liens utiles :
La communauté francophone Xen http://xenfr.org
Le site de référence www.xen.org

Imprimer | Haut de page